/*----------------------------------------------------------------------------
 * osObjects.h: CMSIS-RTOS global object definitions for an application
 *----------------------------------------------------------------------------
 *
 * This header file defines global RTOS objects used throughout a project
 *
 * #define osObjectsPublic indicates that objects are defined; without that
 * definition the objects are defined as external symbols.
 *
 *--------------------------------------------------------------------------*/


#ifndef __osObjects
#define __osObjects

#ifdef osObjectsPublic
#define OBJ_EXT  
#else
#define OBJ_EXT extern 
#endif

#include  <includes.h>            
#include  <gd32f4xx.h>

void  AppTaskCreate (void);
void  AppObjCreate (void);

// global 'thread' functions ---------------------------------------------------


#define  TASK_TASK_SW_TEST_STK_SIZE              0x100
#define  TASK_TASK_SW_TEST_PRIO                  6
OBJ_EXT  OS_TCB         SwTestTaskTCB;
OBJ_EXT  CPU_STK        SwTestTaskStk[TASK_TASK_SW_TEST_STK_SIZE];
OBJ_EXT  void           SwTestTask               (void  *p_arg);




#define  TASK_LEDCTR_STK_SIZE                    128
#define  TASK_LEDCTR_PRIO                        5
OBJ_EXT  OS_TCB         LedCtrTaskTCB;
OBJ_EXT  CPU_STK        LedCtrTaskStk[TASK_LEDCTR_STK_SIZE];
OBJ_EXT  void           LedCtrTask               (void  *p_arg);



// global enent-groups object  -------------------------------------------------
OBJ_EXT OS_FLAG_GRP      FlagWifiEvent;
#define VAL_WIFI_FLAG_INIT                     0

#endif  // __osObjects
